/*
 * Project Name: jmax
 * File Name: FilterTranslatorService.java
 * Copyright: Copyright(C) 1985-2015 ZKTeco Inc. All rights reserved.
 */
package com.xdtech.sys.service;

import java.util.List;
import java.util.Set;

import com.xdtech.common.service.IBaseService;
import com.xdtech.sys.model.FilterTranslator;
import com.xdtech.sys.vo.UserItem;

/**
 * TODO 一句话功能简述，请确保和下面的block tags之间保留一行空行
 * <p>
 * TODO 功能详细描述，若不需要请连同上面的p标签一起删除
 * 
 * @author <a href="max.zheng@zkteco.com">郑志雄</>
 * @version TODO 添加版本
 * @see 相关类或方法，不需要请删除此行
 * @since 2015-3-19 上午9:23:56
 */
public interface FilterTranslatorService extends IBaseService<FilterTranslator> {

	/**
	 * 根据资源id删除记录
	 * @author <a href="max.zheng@zkteco.com">郑志雄</>
	 * @since 2015-3-19 上午10:24:06
	 * @param id
	 */
	void deleteByResourceId(Long id);

	/**
	 * 根据资源key获取权限过滤sql
	 * @author <a href="max.zheng@zkteco.com">郑志雄</>
	 * @since 2015-3-19 下午1:36:46
	 * @param string
	 * @param userId
	 * @param roleIds
	 * @param groupIds
	 * @return
	 */
	String createTranslatorByResourceKey(String resourceKey,UserItem currentUser);

	/**
	 * 保存过滤翻译器信息，
	 * @author max.zheng
	 * @create 2015-3-22上午12:01:44
	 * @modified by
	 * @param resourceId 资源id
	 * @param translator 携带分组、规则全部信息
	 */
	void saveTranslatorHasLinkInfo(Long resourceId, FilterTranslator translator);

	/**
	 * 根据资源id加载过滤解析器
	 * @author <a href="max.zheng@zkteco.com">郑志雄</>
	 * @since 2015-3-24 上午10:44:38
	 * @param resourceId
	 */
	FilterTranslator getTranslatorByResourceId(Long resourceId);

}
